import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ECharts from 'vue-echarts';
import * as echarts from "echarts"; // 引入 ECharts
// import 'echarts'; // 引入 ECharts
import 'echarts/lib/chart/map';
import 'echarts-gl'; // 引入 3D 支持

// 引入 Element Plus 和 Element Plus 的样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// 引入中文包
import zhCn from 'element-plus/es/locale/lang/zh-cn'; 
// 导入图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 按需引入 ECharts 模块
import 'echarts/lib/chart/map'; 
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
// 引入字体
import '@/assets/fonts/font.css'
// echart组件
import Echart from "@/components/echart/index.vue"
import { EventBus } from '@/assets/js/eventBus.js';

const app = createApp(App)

// 全局注册 Element Plus 图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

// 全局组件挂载
app.component("Echart", Echart)
// 全局注册 ECharts 组件
app.component('v-chart', ECharts);
// 将 ECharts 挂载到全局
app.config.globalProperties.$echarts = echarts;

app.use(router)
app.use(ElementPlus, {
    locale: zhCn, // 设置中文为默认语言
});

// 使用 provide/inject 挂载 EventBus，避免直接挂载到全局属性
app.provide('eventBus', EventBus);

app.mount('#app')
